﻿#define _CRT_SECURE_NO_WARNINGS 1

#include <stdio.h>

int check_sys()
{
	union
	{
		int i;
		char c;
	}un;

	un.i = 1;

	return un.c;//返回1是⼩端，返回0是⼤端
}

int main()
{
	int ret = check_sys();
	if (ret == 1)
	{
		printf("小端存储\n");
	}
	else
	{
		printf("大端存储\n");
	}

	return 0;
}

//struct gift_list
//{
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	union {
//		struct
//		{
//			char title[20];//书名
//			char author[20];//作者
//			int num_pages;//⻚数
//		}book;
//		struct
//		{
//			char design[30];//设计
//		}mug;
//		struct
//		{
//			char design[30];//设计
//			int colors;//颜⾊
//			int sizes;//尺⼨
//		}shirt;
//	}item;
//};

//struct gift_list
//{
//	//公共属性
//	int stock_number;//库存量
//	double price; //定价
//	int item_type;//商品类型
//
//	//特殊属性
//	char title[20];//书名
//	char author[20];//作者
//	int num_pages;//⻚数
//
//	char design[30];//设计
//	int colors;//颜⾊
//	int sizes;//尺⼨
//};



//union Un1
//{
//	char c[5];
//	int i;
//};
//union Un2
//{
//	short c[7];
//	int i;
//};
//int main()
//{
//	//下⾯输出的结果是什么？
//
//	printf("%d\n", sizeof(union Un1));
//	printf("%d\n", sizeof(union Un2));
//
//	return 0;
//}




//union Un
//{
//	char c;
//	int i;
//};
//
//int main()
//{
//	//联合变量的定义
//	union Un un = { 0 };
//
//	un.i = 0x11223344;
//	un.c = 0x55;
//
//	printf("%x\n", un.i);
//	return 0;
//}

//struct S
//{
//	char c;
//	int i;
//};
//
//struct S s = { 0 };
//
//union Un
//{
//	char c;
//	int i;
//};
//
//union Un un = { 0 };
//int main()
//{
//	union Un un = { 0 };
//
//	printf("un.c--%p\n", &(un.c));
//	printf("un.i--%p\n", &(un.i));
//	printf("un----%p\n", &un);
//
//	return 0;
//}




//union Un
//{
//	char c;
//	int i;
//};

//int main()
//{
//	//定义联合体变量
//	union Un un = { 0 };
//	//计算连个变量的⼤⼩
//	printf("%d\n", sizeof(un));
//
//	return 0;
//}